With a rapidly growing trend of mobile and remote data access over high-speed communication networks, such as provided by long term evolution (LTE) cellular networks, accurate delivery and deciphering of data streams has become increasingly challenging and difficult.
The use of encoders and decoders has provided a way to improve communication accuracy and network efficiency. One type of coding that is used in communication networks is called Low Density Parity Check (LDPC) coding. In this coding technique, data is encoded into a codeword that describes how a plurality of bit nodes are constrained by a plurality of check nodes. At a receiver, a LDPC decoder is used to process the received transmission to recover the transmitted codeword. The decoder processes the received bits to determine if the constraints have been satisfied, thereby confirming accurate reception of a codeword. If the constraints are not satisfied, the input bits can be adjusted until they satisfy all the constraints. Thus, it is possible to correct errors resulting from transmission loss, signal degradation or noise.
Unfortunately, it is possible that the LDPC decoder encounters a “read-before-write” (RBW) hazard during the decoding operation. A read-before-write hazard can occur when one or more bits are used to determine multiple constraints. In this case, the determination of a particular constraint may have to wait until determination of a prior constraint is completed. If this happens, the decoder is said to have “stalled” while waiting for the prior constraint to complete. The decoding process will take longer to complete if the decoder “stalls” such that the decoder may not have enough time to complete the data decoding operation within the available time interval.
Therefore, it is desirable to have a mechanism that reduces or eliminates read-before-write hazards in an LDPC decoder and thereby provides improved performance over conventional decoders.